package com.pattern.singleton;

/**
 * 单例模式主要有如下两个优势：<br>
 *  1)减少创建Java实例所带来的系统开销 <br>
 *  2)便于系统跟踪单个Java实例的生命周期、实例状态等。
 * 
 * @author liuxiaodong
 */
public class Singleton {

	private static Singleton instance;

	private Singleton() {
		System.out.println(123);
	}

	public static Singleton getInstance() {
		if (instance == null) {
			instance = new Singleton();
		}
		return instance;
	}

	public static void main(String[] args) {
		// 创建Singleton对象不能通过构造器，只能通过getInstance方法
		Singleton s1 = Singleton.getInstance();
		Singleton s2 = Singleton.getInstance();
		// 将输出true
		System.out.println(s1 == s2);
	}
}
